import graph

from CoastalSupplyCenter import *
from InlandSupplyCenter import *
from WaterProvince import * 

class DiplomacyMap:

  Graph = graph.graph() 
 
  def __init__(self):

    water = [ WaterProvince("Black Sea","bla"), \
              WaterProvince("Aegean Sea","aeg"), \
              WaterProvince("East Mediterranean","eas"), \
              WaterProvince("Ionian Sea", "ion"), \
              WaterProvince("Adriatic Sea", "adr"), \
              WaterProvince("Tyrhennian Sea", "tys"), \
              WaterProvince("Gulf of Lyon", "lyo"), \
              WaterProvince("West Mediterranean", "wes"), \
              WaterProvince("Mid Atlantic", "mao"), \
              WaterProvince("North Atlantic", "nao"), \
              WaterProvince("Irish Sea", "iri"), \
              WaterProvince("English Channel", "eng"), \
              WaterProvince("North Sea", "nth"), \
              WaterProvince("Norwegian Sea", "nwg"), \
              WaterProvince("Helgoland Bight", "hel"), \
              WaterProvince("Skagerrak", "ska"), \
              WaterProvince("Baltic Sea", "bal"), \
              WaterProvince("Gulf of Bothnia", "bot"), \
              WaterProvince("Barents Sea", "bar") ]

    coastals = [  CoastalProvince("Syria","syr"), \
                  CoastalProvince("Armenia","arm"), \
                  CoastalProvince("Albania","alb"), \
                  CoastalProvince("Apulia","apu"), \
                  CoastalProvince("Tuscany","tus"), \
                  CoastalProvince("Piemonte","pie"), \
                  CoastalProvince("North Africa","naf"), \
                  CoastalProvince("Gascony","gas"), \
                  CoastalProvince("Picardy","pic"), \
                  CoastalProvince("Wales","wal"), \
                  CoastalProvince("York","yor"), \
                  CoastalProvince("Clyde","cly"), \
                  CoastalProvince("Prussia","pru"), \
                  CoastalProvince("Livonia","lvn"), \
                  CoastalProvince("Finland","fin") ]
  
    inlands = [ InlandProvince("Ukraine","ukr"), \
                InlandProvince("Galicia","gal"), \
                InlandProvince("Bohemia","boh"), \
                InlandProvince("Silesia","sil"), \
                InlandProvince("Tyrolia","tyr"), \
                InlandProvince("Ruhr","ruh"), \
                InlandProvince("Burgundy","bur") ]

    coastalSupply = [ CoastalSupplyCenter("Smyrna","smy"), \
                      CoastalSupplyCenter("Ankara","ank"), \
                      CoastalSupplyCenter("Constantinople","con"), \
                      CoastalSupplyCenter("Stevastopol","sev"), \
                      CoastalSupplyCenter("Saint Petersburg","stp"), \
                      CoastalSupplyCenter("Napoli","nap"), \
                      CoastalSupplyCenter("Roma","rom"), \
                      CoastalSupplyCenter("Venezia","ven"), \
                      CoastalSupplyCenter("Trieste","tri"), \
                      CoastalSupplyCenter("Marseilles","mar"), \
                      CoastalSupplyCenter("Brest","bre"), \
                      CoastalSupplyCenter("London","lon"), \
                      CoastalSupplyCenter("Liverpool","lvp"), \
                      CoastalSupplyCenter("Edinburgh","edi"), \
                      CoastalSupplyCenter("Kiel","kie"), \
                      CoastalSupplyCenter("Berlin","ber"), \
                      CoastalSupplyCenter("Norway","nwy"), \
                      CoastalSupplyCenter("Sweden","swe"), \
                      CoastalSupplyCenter("Denmark","den"), \
                      CoastalSupplyCenter("Holland","hol"), \
                      CoastalSupplyCenter("Belgium","bel"), \
                      CoastalSupplyCenter("Portugal","por"), \
                      CoastalSupplyCenter("Spain","spa"), \
                      CoastalSupplyCenter("Tunisia","tun"), \
                      CoastalSupplyCenter("Bulgaria","bul"), \
                      CoastalSupplyCenter("Rumania","rum"), \
                      CoastalSupplyCenter("Greece","gre") ]
    
    inlandSupply = [  InlandSupplyCenter("Moscow","mos"), \
                      InlandSupplyCenter("Warsaw","war"), \
                      InlandSupplyCenter("Budapest","bud"), \
                      InlandSupplyCenter("Vienna","vie"), \
                      InlandSupplyCenter("Munich","mun"), \
                      InlandSupplyCenter("Paris","par"), \
                      InlandSupplyCenter("Serbia","ser") ]

    self.Graph.add_nodes( water )
    self.Graph.add_nodes( coastals )
    self.Graph.add_nodes( inlands )
    self.Graph.add_nodes( coastalSupply )
    self.Graph.add_nodes( inlandSupply )
              
